問題1
mysql> CREATE TABLE item_category (
    ->     category_id INT AUTO_INCREMENT PRIMARY KEY,
    ->     category_name VARCHAR(256) NOT NULL
    -> );
Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO item_category ('家具');
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''家具')' at line 1
mysql> ^C
mysql>
mysql> INSERT INTO item_category (category_name) VALUES ('家具');
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO item_category (category_name) VALUES ('飲料');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO item_category (category_name) VALUES ('食品');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM item_category;
+-------------+---------------+
| category_id | category_name |
+-------------+---------------+
|           1 | 家具          |
|           2 | 飲料          |
|           3 | 食品          |
+-------------+---------------+
3 rows in set (0.00 sec)

問題２
CREATE TABLE items ( item_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(256), price INT, category_id INT, FOREIGN KEY (category_id) REFERENCES item_category(category_id));

INSERT INTO items (name, price, category_id)
    -> VALUES ('ローマのテーブル', 150000, 1);
INSERT INTO items (name, price, category_id) VALUES ('げーたるど2000 500 ml', 370, 2);
mysql> INSERT INTO items (name, price, category_id) VALUES ('原始肉', 2500, 3);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO items (name, price, category_id) VALUES ('魅惑の橋子', 100000, 1);
Query OK, 1 row affected (0.00 sec)
問題３
SELECT * FROM items JOIN item_category USING (category_id);
+-------------+---------+-----------------------+--------+---------------+
| category_id | item_id | name                  | price  | category_name |
+-------------+---------+-----------------------+--------+---------------+
|           1 |       1 | ローマのテーブル      | 150000 | 家具          |
|           1 |       4 | 魅惑の橋子            | 100000 | 家具          |
|           2 |       2 | げーたるど2000 500 ml |    370 | 飲料          |
|           3 |       3 | 原始肉                |   2500 | 食品          |
+-------------+---------+-----------------------+--------+---------------+
4 rows in set (0.00 sec)

問題４
SELECT * 
FROM items 
JOIN item_category USING (category_id)
ORDER BY price ASC;
+-------------+---------+-----------------------+--------+---------------+
| category_id | item_id | name                  | price  | category_name |
+-------------+---------+-----------------------+--------+---------------+
|           2 |       2 | げーたるど2000 500 ml |    370 | 飲料          |
|           3 |       3 | 原始肉                |   2500 | 食品          |
|           1 |       4 | 魅惑の橋子            | 100000 | 家具          |
|           1 |       1 | ローマのテーブル      | 150000 | 家具          |
+-------------+---------+-----------------------+--------+---------------+
4 rows in set (0.00 sec)

問題５
 SELECT * FROM items JOIN item_category USING (category_id) WHERE category_name = '家具';
+-------------+---------+------------------+--------+---------------+
| category_id | item_id | name             | price  | category_name |
+-------------+---------+------------------+--------+---------------+
|           1 |       1 | ローマのテーブル | 150000 | 家具          |
|           1 |       4 | 魅惑の橋子       | 100000 | 家具          |
+-------------+---------+------------------+--------+---------------+
2 rows in set (0.00 sec)

問題　６
mysql> SELECT * FROM items JOIN item_category USING (category_id) WHERE price BETWEEN 1000 AND 50000;
+-------------+---------+--------+-------+---------------+
| category_id | item_id | name   | price | category_name |
+-------------+---------+--------+-------+---------------+
|           3 |       3 | 原始肉 |  2500 | 食品          |
+-------------+---------+--------+-------+---------------+
1 row in set (0.00 sec)

問題７
mysql> SELECT COUNT(*) AS total_items FROM items;
+-------------+
| total_items |
+-------------+
|           4 |
+-------------+
1 row in set (0.00 sec)

問題８
mysql> SELECT * FROM items WHERE price = (SELECT MAX(price) FROM items);
+---------+------------------+--------+-------------+
| item_id | name             | price  | category_id |
+---------+------------------+--------+-------------+
|       1 | ローマのテーブル | 150000 |           1 |
+---------+------------------+--------+-------------+
1 row in set (0.00 sec)

問題９


mysql> SELECT * FROM items WHERE name LIKE '%の%';
+---------+------------------+--------+-------------+
| item_id | name             | price  | category_id |
+---------+------------------+--------+-------------+
|       1 | ローマのテーブル | 150000 |           1 |
|       4 | 魅惑の橋子       | 100000 |           1 |
+---------+------------------+--------+-------------+
2 rows in set (0.00 sec)
















